45b076519d55b72d3e992625a65a204b59e54d70,src/main/java/de/thm/arsnova/dao/CouchDBDao.java,CouchDBDao,deleteAnswers,#Question#,908

Before Change


				d.put("_deleted", true);
				answersToDelete.add(d);
			}
			database.bulkSaveDocuments(answersToDelete.toArray(new Document[answersToDelete.size()]));
			log("delete", "type", "answer", "answerCount", answersToDelete.size());

			return answersToDelete.size();

After Change


			view.setKey(question.get_id());
			view.setIncludeDocs(true);
			final ViewResults results = getDatabase().view(view);
			final List<List<Document>> partitions = Lists.partition(results.getResults(), BULK_PARTITION_SIZE);

			int count = 0;
			for (List<Document> partition: partitions) {
				List<Document> answersToDelete = new ArrayList<Document>();
				for (final Document a : partition) {
					final Document d = new Document(a.getJSONObject("doc"));
					d.put("_deleted", true);
					answersToDelete.add(d);
				}
				if (database.bulkSaveDocuments(answersToDelete.toArray(new Document[answersToDelete.size()]))) {
					count += partition.size();
				} else {
					LOGGER.error("Could not bulk delete answers");